package net.zdsoft.wpchat.support.dao;

import java.util.List;
import java.util.Map;

import net.zdsoft.wpchat.support.entity.AuthCatalog;
import net.zdsoft.wpchat.support.entity.AuthModule;
import net.zdsoft.wpchat.support.entity.AuthOperation;
import net.zdsoft.wpchat.support.entity.GroupPermission;

/**
 * 权限Dao
 *
 * @author xuan
 */
public interface AuthDao {

    /**
     * 查找大类目录map
     *
     * @return
     */
    Map<String, AuthCatalog> findCatalogMap();

    /**
     * 根据大类目录查找所有下面的模块map
     *
     * @param catalogMap
     * @return
     */
    Map<String, AuthModule> findModuleMap(Map<String, AuthCatalog> catalogMap);

    /**
     * 根据模块map查找所有下面的操作map
     *
     * @param moduleMap
     * @return
     */
    Map<String, AuthOperation> findOperationMap(Map<String, AuthModule> moduleMap);

	/**
	 * 根据群组id数组查找所有的权限操作
	 *
	 * @param groupIds
	 * @return
	 */
    List<GroupPermission> findGroupPerms(String[] groupIds);

    /**
     * 根据群组id数组查找所有群组的名称
     *
     * @param groupIds
     * @return
     */
    List<String> findGroupNames(String[] groupIds);

}
